package com.wanjia.estate.pojo.tax;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.AccessLevel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class A011 {

    @Data
    public static class Taxbizml<T> implements Serializable {
        @JSONField(name = "BDCDYHSJLIST")
        private List<T> bdcdyhsjlist;
    }

    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class RequestEleven extends CommonRoot<Taxbizml<RequestBdcdyhsjlist>> {

    }

    @Data
    public static class RequestBdcdyhsjlist implements Serializable {
         @JSONField(name = "BDCDY")
         private List<Bdcdy> bdcdy;
    }
    @Data
    public static class Bdcdy implements Serializable {
        @JSONField(name = "SJBH")
        private String sjbh;
        @JSONField(name = "SJRQ",format = "yyyy-MM-dd")
        private Date sjrq;
        @JSONField(name = "ZLFCLFBZ")
        private String zlfclfbz;
        @JSONField(name = "SJGSDQ")
        private String sjgsdq;
        @JSONField(name = "HTBH")
        private String htbh;
        @JSONField(name = "JYUUID")
        private String jyuuid;
        @JSONField(name = "FWUUID")
        private String fwuuid;
        @JSONField(name = "NSRSBH")
        private String nsrsbh;
        @JSONField(name = "BDCDYH")
        private String bdcdyh;
        @JSONField(name = "DJRQ",format = "yyyy-MM-dd")
        private Date djrq;
        @JSONField(name="BDCQZH")
        private String bdcqzh;
        @JSONField(name="FWZLDZ")
        private String fwzldz;
        @JSONField(name="GHYT")
        private String ghyt;
        @JSONField(name="FWXZ")
        private String fwxz;
        @JSONField(name="JZMJ")
        private String jzmj;
        @JSONField(name="DJLX")
        private String djlx;
        @JSONField(name="QLLX")
        private String qllx;
        @JSONField(name="DJJG")
        private String djjg;
        @JSONField(name="QSZT")
        private String qszt;
        @JSONField(name="QXDM")
        private String qxdm;
        @JSONField(name = "QLRLIST")
        private QlrList qlrlist;

    }

    @Data
    public static class QlrList implements Serializable {
        @JSONField(name = "QLR")
        private List<Qlr> qlr;
    }

    @Data
    public static class Qlr implements Serializable {
        @JSONField(name="ZJZL")
        private String zjzl;
        @JSONField(name="ZJH")
        private String zjh;
        @JSONField(name="QLRMC")
        private String qlrmc;
        @JSONField(name="SFCZR")
        private String sfczr;
        @JSONField(name="DH")
        private String dh;
        @JSONField(name="DZ")
        private String dz;
        @JSONField(name="QLRLX")
        private String qlrlx;
        @JSONField(name="QLXBL")
        private String qlxbl;
        @JSONField(name="GYFS")
        private String gyfs;
        @JSONField(name="GYQK")
        private String gyqk;
    }

    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class Response extends CommonRoot<Taxbizml<Bdcdyhsjlist>> {

    }

    @Data
    public static class Bdcdyhsjlist implements Serializable {
        @JSONField(name = "FHM")
        private String fhm;
        @JSONField(name = "FHXX")
        private String fhxx;
        @JSONField(name = "SJBH")
        private String sjbh;
        @JSONField(name = "HTBH")
        private String htbh;
        @JSONField(name = "JYUUID")
        private String jyuuid;
        @JSONField(name = "FWUUID")
        private String fwuuid;
    }

}
